package wellness.activities.beans;

import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.TimerTask;

import wellness.activities.adapters.SemanasAdapter;
import wellness.activities.util.Utilidades;

public class TempoLivreBean {

	private int id;
	private String semana;
	private String das;
	private String as;
	private TimerTask servico;

	public TempoLivreBean(String semana, String das, String as) {
		this.semana = semana;

		String[] horario = das.split(":");
		int hora = Integer.parseInt(horario[0]);
		int minuto = Integer.parseInt(horario[1]);
		this.das = Utilidades.getNumeroFormatado(hora) + ":"
				+ Utilidades.getNumeroFormatado(minuto);

		horario = as.split(":");
		hora = Integer.parseInt(horario[0]);
		minuto = Integer.parseInt(horario[1]);
		this.as = Utilidades.getNumeroFormatado(hora) + ":"
				+ Utilidades.getNumeroFormatado(minuto);
	}

	public TempoLivreBean(int id, String semana, String das, String as) {
		this.id = id;
		this.semana = semana;

		String[] horario = das.split(":");
		int hora = Integer.parseInt(horario[0]);
		int minuto = Integer.parseInt(horario[1]);
		this.das = Utilidades.getNumeroFormatado(hora) + ":"
				+ Utilidades.getNumeroFormatado(minuto);

		horario = as.split(":");
		hora = Integer.parseInt(horario[0]);
		minuto = Integer.parseInt(horario[1]);
		this.as = Utilidades.getNumeroFormatado(hora) + ":"
				+ Utilidades.getNumeroFormatado(minuto);
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getSemana() {
		return semana;
	}

	public void setSemana(String semana) {
		this.semana = semana;
	}

	public String getDas() {
		return das;
	}

	public void setDas(String das) {
		this.das = das;
	}

	public String getAs() {
		return as;
	}

	public void setAs(String as) {
		this.as = as;
	}

	public TimerTask getServico() {
		return servico;
	}
	
	public Integer getHoraInicio(){
		String[] horario = this.das.split(":");
		return Integer.parseInt(horario[0]);
	}
	
	public Integer getMinutoInicio(){
		String[] horario = this.das.split(":");
		return Integer.parseInt(horario[1]);
	}

	public void setServico(TimerTask servico) {
		this.servico = servico;
	}
	
	public GregorianCalendar getTime(){
		GregorianCalendar data = new GregorianCalendar();
		int index = 0;
		for(int i = 0; i < SemanasAdapter.semanas.length; i++){
			if(SemanasAdapter.semanas[i].equals(this.getSemana())){
				index = i;
				break;
			}
		}
		
		while(index != data.get(Calendar.DAY_OF_WEEK)){
			data.add(Calendar.DAY_OF_MONTH, 1);
		}
		
		return new GregorianCalendar();
	}

}
